MCP 문서 관리

메뉴

Kubernetes and OpenShift

Kubernetes and OpenShift

Kubernetes and OpenShift MCP 서버는 쿠버네티스 클러스터와 그 위에 구축된 Red Hat OpenShift 플랫폼을 관리하기 위한 강력한 도구 모음을 제공합니다. 이 MCP 서버는 기본 쿠버네티스 리소스에 대한 표준 CRUD 작업뿐만 아니라 OpenShift의 추가 기능에 대한 지원도 포함하고 있어, 클라우드 네이티브 애플리케이션의 배포와 관리를 간소화합니다.

특징

  • 쿠버네티스 리소스 관리: 모든 쿠버네티스 리소스(파드, 디플로이먼트, 서비스, 컨피그맵 등)에 대한 포괄적인 CRUD 작업 지원
  • OpenShift 확장 지원: OpenShift 특화 리소스(Route, BuildConfig, DeploymentConfig 등)에 대한 접근 및 관리 기능
  • 멀티 클러스터 관리: 여러 쿠버네티스/OpenShift 클러스터를 동시에 관리할 수 있는 능력
  • 실시간 모니터링: 클러스터 상태, 노드 리소스 사용량, 포드 상태 등의 실시간 모니터링 기능
  • 로그 및 이벤트 분석: 애플리케이션 및 시스템 로그, 이벤트 조회 및 분석 기능
  • 보안 접근 제어: RBAC(Role-Based Access Control)를 통한 세밀한 권한 관리
  • 자동화 워크플로우: 일반적인 배포 및 관리 작업을 자동화하는 템플릿 및 워크플로우

API

리소스

  • 클러스터: 쿠버네티스/OpenShift 클러스터 연결 정보
  • 네임스페이스: 쿠버네티스/OpenShift 네임스페이스 목록
  • 포드: 실행 중인 컨테이너 그룹
  • 서비스: 네트워크 서비스 엔드포인트
  • Route: OpenShift 라우트 (외부 접근 URL)

도구

cluster_info

현재 연결된 클러스터에 대한 상세 정보를 제공합니다. - 입력: 없음 - 출력: 클러스터 버전, 상태, 노드 수 등의 정보

list_namespaces

클러스터의 네임스페이스 목록을 반환합니다. - 입력: - filter: 선택적 필터링 기준 - 출력: 네임스페이스 목록 및 상태

get_pods

특정 네임스페이스 또는 모든 네임스페이스의 포드 목록을 조회합니다. - 입력: - namespace: 네임스페이스 이름 (선택 사항) - label_selector: 레이블 기반 필터 (선택 사항) - 출력: 포드 목록, 상태, 리소스 사용량

create_deployment

새로운 디플로이먼트를 생성합니다. - 입력: - namespace: 네임스페이스 이름 - name: 디플로이먼트 이름 - image: 컨테이너 이미지 - replicas: 복제본 수 - env_vars: 환경 변수 맵 (선택 사항) - resources: 리소스 제한 및 요청 (선택 사항)

scale_deployment

디플로이먼트의 복제본 수를 조정합니다. - 입력: - namespace: 네임스페이스 이름 - name: 디플로이먼트 이름 - replicas: 새로운 복제본 수

get_logs

특정 포드의 로그를 조회합니다. - 입력: - namespace: 네임스페이스 이름 - pod_name: 포드 이름 - container: 컨테이너 이름 (선택 사항) - tail_lines: 조회할 로그 라인 수 (선택 사항)

exec_command

포드 내 컨테이너에서 명령을 실행합니다. - 입력: - namespace: 네임스페이스 이름 - pod_name: 포드 이름 - container: 컨테이너 이름 (선택 사항) - command: 실행할 명령어 배열

create_route (OpenShift 전용)

서비스에 대한 외부 라우트를 생성합니다. - 입력: - namespace: 네임스페이스 이름 - name: 라우트 이름 - service_name: 대상 서비스 이름 - port: 서비스 포트 - host: 호스트 이름 (선택 사항) - tls: TLS 구성 (선택 사항)

start_build (OpenShift 전용)

BuildConfig에서 새로운 빌드를 시작합니다. - 입력: - namespace: 네임스페이스 이름 - build_config: BuildConfig 이름

사용 방법

설치

# npm을 통한 설치
npm install -g kube-openshift-mcp

# 또는 소스에서 빌드
git clone https://github.com/example/kube-openshift-mcp.git
cd kube-openshift-mcp
npm install
npm run build

구성

MCP 클라이언트 구성 예시:

{
  "mcpServers": {
    "kubernetes-openshift": {
      "command": "kube-openshift-mcp",
      "args": ["--kubeconfig=/path/to/kubeconfig"],
      "env": {
        "OPENSHIFT_TOKEN": "your-openshift-token"
      }
    }
  }
}

인증

이 MCP 서버는 여러 인증 방법을 지원합니다:

  1. kubeconfig 파일: 표준 쿠버네티스 kubeconfig 파일을 이용한 인증
  2. 서비스 계정 토큰: 쿠버네티스/OpenShift 서비스 계정 토큰을 사용한 인증
  3. OpenShift OAuth: Red Hat OpenShift의 OAuth 인증 지원

실제 사용 사례

  1. 애플리케이션 배포 및 관리: 개발 환경에서 프로덕션 환경까지 애플리케이션의 전체 수명 주기 관리
  2. 클러스터 상태 모니터링: 클러스터 건강 상태, 리소스 사용량, 이벤트 등의 실시간 모니터링
  3. 문제 해결: 애플리케이션 로그 분석, 문제 발생 시 포드 내 명령 실행을 통한 디버깅
  4. CI/CD 통합: 지속적 통합 및 배포 파이프라인과의 통합을 통한 자동화된 애플리케이션 업데이트

연결된 구성 요소

  • Docker - 컨테이너 이미지 관리 및 빌드
  • Git - 소스 코드 관리 및 CI/CD 통합
  • Kubernetes - 기본 쿠버네티스 기능
  • Terminal-Control - 터미널 명령 실행 및 관리